#ifndef SPRITEINSTANCE_H_INCLUDED
#define SPRITEINSTANCE_H_INCLUDED


#include "SDL.h"
#include "Misc.h"
#include "ImageList.h"
#include "Debug.h"

    class SpriteInstance {
        public:
        uint m_imgId;
        uint m_spriteId;
        uint m_spriteInstanceId;
        bool m_visible;
        bool m_solid;
        PosRectInfo m_posRect;
        void draw(SDL_Surface *layer);
        bool hasXY(Sint16 x, Sint16 y);
        void movebyXY(Sint16 x, Sint16 y);
        bool overLaps(SpriteInstance &si);
        bool overLaps(PosRectInfo &posRect);
        bool isVisible();
        bool isSolid();
        bool toggleVisible();
        bool toggleSolid();
    };

inline bool SpriteInstance::isVisible()
{
    return m_visible;
}

inline bool SpriteInstance::isSolid()
{
    return m_solid;
}

inline bool SpriteInstance::toggleVisible()
{
    return (m_visible = !m_visible);
}

inline bool SpriteInstance::toggleSolid()
{
    return (m_solid = !m_solid);
}

#endif // SPRITEINSTANCE_H_INCLUDED
